<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
        <head>
          <title>bijectiveGoedelNumberings.TermTester</title>
          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
          
      <link type="text/css" media="screen" rel="stylesheet" href="../lib/template.css" />
      <script type="text/javascript" src="../lib/jquery.js"></script>
      <script type="text/javascript" src="../lib/jquery-ui.js"></script>
      <script type="text/javascript" src="../lib/template.js"></script>
      <script type="text/javascript" src="../lib/tools.tooltip.js"></script>
    
        </head>
        <body onload="sh_highlightDocument('../lib/', '.min.js');" class="value">
      <div id="definition">
        <img src="../lib/object_big.png" />
        <p id="owner"><a name="bijectiveGoedelNumberings" class="extype" href="package.html">bijectiveGoedelNumberings</a></p>
        <h1>TermTester</h1>
      </div>

      <h4 class="signature" id="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">object</span>
      </span>
      <span class="symbol">
        <span class="name">TermTester</span><span class="result"> extends <a name="bijectiveGoedelNumberings.TermEncoder" class="extype" href="TermEncoder.html">TermEncoder</a></span>
      </span>
      </h4>
      
      <div class="fullcommenttop" id="comment"><div class="comment cmt"><p>Contains testing functions trying
out independently the two sides of the
bijection between terms and natural numbers.
</p></div><div class="toggleContainer block">
          <span class="toggle">Linear Supertypes</span>
          <div class="superTypes hiddenContent"><a name="bijectiveGoedelNumberings.TermEncoder" class="extype" href="TermEncoder.html">TermEncoder</a>, <a name="bijectiveGoedelNumberings.Cantor" class="extype" href="Cantor.html">Cantor</a>, <a name="bijectiveGoedelNumberings.Catalan" class="extype" href="Catalan.html">Catalan</a>, AnyRef, <span name="scala.Any" class="extype">Any</span></div>
        </div></div>
    

      <div id="mbrsel">
        <div id="textfilter"><span class="pre"></span><span class="input"><input accesskey="/" type="text" /></span><span class="post"></span></div>
        <div id="order">
              <span class="filtertype">Ordering</span>
              <ol><li class="alpha in"><span>Alphabetic</span></li><li class="inherit out"><span>By inheritance</span></li></ol>
            </div>
        <div id="ancestors">
              <span class="filtertype">Inherited</span>
              <ol><li class="hideall out"><span>Hide All</span></li>
              <li class="showall in"><span>Show all</span></li></ol>
              <ol id="linearization"><li name="bijectiveGoedelNumberings.TermTester" class="in"><span>TermTester</span></li><li name="bijectiveGoedelNumberings.TermEncoder" class="in"><span>TermEncoder</span></li><li name="bijectiveGoedelNumberings.Cantor" class="in"><span>Cantor</span></li><li name="bijectiveGoedelNumberings.Catalan" class="in"><span>Catalan</span></li><li name="scala.AnyRef" class="in"><span>AnyRef</span></li><li name="scala.Any" class="in"><span>Any</span></li></ol>
            </div>
        <div id="visbl">
            <span class="filtertype">Visibility</span>
            <ol><li class="public in"><span>Public</span></li><li class="all out"><span>All</span></li></ol>
          </div>
      </div>

      <div id="template">
        <div id="allMembers">
        

        <div class="types members" id="types">
              <h3>Type Members</h3>
              <ol><li visbl="pub" name="bijectiveGoedelNumberings.TermEncoder#Pars" data-isabs="false">
      <a id="Pars:Pars"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">type</span>
      </span>
      <span class="symbol">
        <span class="name">Pars</span><span class="result"> = <span name="scala.collection.immutable.List" class="extype">List</span>[<span name="scala.Int" class="extype">Int</span>]</span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.TermEncoder" class="extype" href="TermEncoder.html">TermEncoder</a></dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.TermEncoder#Syms" data-isabs="false">
      <a id="Syms:Syms"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">type</span>
      </span>
      <span class="symbol">
        <span class="name">Syms</span><span class="result"> = <span name="scala.collection.immutable.List" class="extype">List</span>[BigInt]</span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.TermEncoder" class="extype" href="TermEncoder.html">TermEncoder</a></dd></dl></div>
    </li></ol>
            </div>

        

        <div class="values members" id="values">
              <h3>Value Members</h3>
              <ol><li visbl="pub" name="scala.AnyRef#!=" data-isabs="false">
      <a id="!=(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name" title="gt4s: $bang$eq">!=</span><span class="params">(<span name="arg0">arg0: AnyRef</span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="scala.Any#!=" data-isabs="false">
      <a id="!=(Any):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name" title="gt4s: $bang$eq">!=</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef###" data-isabs="false">
      <a id="##():Int"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name" title="gt4s: $hash$hash">##</span><span class="params">()</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#==" data-isabs="false">
      <a id="==(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name" title="gt4s: $eq$eq">==</span><span class="params">(<span name="arg0">arg0: AnyRef</span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="scala.Any#==" data-isabs="false">
      <a id="==(Any):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name" title="gt4s: $eq$eq">==</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li visbl="pub" name="scala.Any#asInstanceOf" data-isabs="false">
      <a id="asInstanceOf[T0]:T0"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: T0</span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.TermTester#bigt" data-isabs="false">
      <a id="bigt(BigInt):Term"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">bigt</span><span class="params">(<span name="n">n: BigInt</span>)</span><span class="result">: <a name="bijectiveGoedelNumberings.Term" class="extype" href="Term.html">Term</a></span>
      </span>
      </h4>
      <p class="shortcomment cmt">builds a linear term of size n
e.</p><div class="fullcomment"><div class="comment cmt"><p>builds a linear term of size n
e.g. for n=3 something like</p><p>F3(v3,F2(v2,F1(v1,v0,F1),F2),F3)
</p></div></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.TermTester#bigtt" data-isabs="false">
      <a id="bigtt(BigInt):Term"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">bigtt</span><span class="params">(<span name="n">n: BigInt</span>)</span><span class="result">: <a name="bijectiveGoedelNumberings.Term" class="extype" href="Term.html">Term</a></span>
      </span>
      </h4>
      <p class="shortcomment cmt">builds a deep term of size O(2^n)
e.g. for n=3 something like</p><div class="fullcomment"><div class="comment cmt"><p>builds a deep term of size O(2^n)
e.g. for n=3 something like</p><p>F3(v3,F2(v2,F1(v1,v0,v0),F1(v1,v0,v0)),F2(v2,F1(v1,v0,v0),F1(v1,v0,v0)))
</p></div></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.Catalan#binomial" data-isabs="false">
      <a id="binomial(BigInt,BigInt):BigInt"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">binomial</span><span class="params">(<span name="n">n: BigInt</span>, <span name="r0">r0: BigInt</span>)</span><span class="result">: BigInt</span>
      </span>
      </h4>
      <p class="shortcomment cmt">Computes the binomial &quot;n choose k&quot;
</p><div class="fullcomment"><div class="comment cmt"><p>Computes the binomial &quot;n choose k&quot;
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.Catalan" class="extype" href="Catalan.html">Catalan</a></dd></dl></div>
    </li><li visbl="prt" name="scala.AnyRef#clone" data-isabs="false">
      <a id="clone():AnyRef"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">clone</span><span class="params">()</span><span class="result">: AnyRef</span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a name="java.lang" class="extype" href="../java/lang/package.html">lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#eq" data-isabs="false">
      <a id="eq(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">eq</span><span class="params">(<span name="arg0">arg0: AnyRef</span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#equals" data-isabs="false">
      <a id="equals(Any):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">equals</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li visbl="prt" name="scala.AnyRef#finalize" data-isabs="false">
      <a id="finalize():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">finalize</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a name="java.lang" class="extype" href="../java/lang/package.html">lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.Cantor#firstKBinomialLargerThan" data-isabs="false">
      <a id="firstKBinomialLargerThan(BigInt,BigInt):BigInt"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">firstKBinomialLargerThan</span><span class="params">(<span name="k">k: BigInt</span>, <span name="n">n: BigInt</span>)</span><span class="result">: BigInt</span>
      </span>
      </h4>
      <p class="shortcomment cmt"> efficently finds the smallest m such that (m choose k &gt; n) using
 binary search
</p><div class="fullcomment"><div class="comment cmt"><p> efficently finds the smallest m such that (m choose k &gt; n) using
 binary search
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.Cantor" class="extype" href="Cantor.html">Cantor</a></dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.Cantor#fromCantorTuple" data-isabs="false">
      <a id="fromCantorTuple(List[BigInt]):BigInt"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">fromCantorTuple</span><span class="params">(<span name="ns">ns: List[BigInt]</span>)</span><span class="result">: BigInt</span>
      </span>
      </h4>
      <p class="shortcomment cmt">Computes the natural number uniquely associated
to the sequence of natural numbers ns, using
Cantor's generalized bijection formula
</p><div class="fullcomment"><div class="comment cmt"><p>Computes the natural number uniquely associated
to the sequence of natural numbers ns, using
Cantor's generalized bijection formula
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.Cantor" class="extype" href="Cantor.html">Cantor</a></dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.TermEncoder#fromCode" data-isabs="false">
      <a id="fromCode(BigInt):Term"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">fromCode</span><span class="params">(<span name="n">n: BigInt</span>)</span><span class="result">: <a name="bijectiveGoedelNumberings.Term" class="extype" href="Term.html">Term</a></span>
      </span>
      </h4>
      <p class="shortcomment cmt">Decodes a natural number to a unique
term by decoding a Catalan Skeleton
and a matching Symbol sequence from
which it parses the term using the
fromPair method.</p><div class="fullcomment"><div class="comment cmt"><p>Decodes a natural number to a unique
term by decoding a Catalan Skeleton
and a matching Symbol sequence from
which it parses the term using the
fromPair method.
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.TermEncoder" class="extype" href="TermEncoder.html">TermEncoder</a></dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.TermEncoder#fromPair" data-isabs="false">
      <a id="fromPair((Pars, Syms)):Product with Serializable with Term"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">fromPair</span><span class="params">(<span name="pair">pair: (Pars, Syms)</span>)</span><span class="result">: <span name="scala.Product" class="extype">Product</span> with <span name="scala.Serializable" class="extype">Serializable</span> with <a name="bijectiveGoedelNumberings.Term" class="extype" href="Term.html">Term</a></span>
      </span>
      </h4>
      <p class="shortcomment cmt">inverts the toPair operation - recovers a term
from its Catalan Skeleton + Symbols
</p><div class="fullcomment"><div class="comment cmt"><p>inverts the toPair operation - recovers a term
from its Catalan Skeleton + Symbols
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.TermEncoder" class="extype" href="TermEncoder.html">TermEncoder</a></dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#getClass" data-isabs="false">
      <a id="getClass():java.lang.Class[_]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getClass</span><span class="params">()</span><span class="result">: java.lang.Class[_]</span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#hashCode" data-isabs="false">
      <a id="hashCode():Int"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">hashCode</span><span class="params">()</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li visbl="pub" name="scala.Any#isInstanceOf" data-isabs="false">
      <a id="isInstanceOf[T0]:Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.Cantor#list2set" data-isabs="false">
      <a id="list2set(List[BigInt]):List[BigInt]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">list2set</span><span class="params">(<span name="xs">xs: List[BigInt]</span>)</span><span class="result">: List[BigInt]</span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.Cantor" class="extype" href="Cantor.html">Cantor</a></dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#ne" data-isabs="false">
      <a id="ne(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ne</span><span class="params">(<span name="arg0">arg0: AnyRef</span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#notify" data-isabs="false">
      <a id="notify():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">notify</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#notifyAll" data-isabs="false">
      <a id="notifyAll():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">notifyAll</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.Catalan#rank" data-isabs="false">
      <a id="rank(List[Int]):BigInt"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">rank</span><span class="params">(<span name="xs">xs: List[<span name="scala.Int" class="extype">Int</span>]</span>)</span><span class="result">: BigInt</span>
      </span>
      </h4>
      <p class="shortcomment cmt">Computes natural number uniquely associated
to given balanced parentehsis string xs
</p><div class="fullcomment"><div class="comment cmt"><p>Computes natural number uniquely associated
to given balanced parentehsis string xs
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.Catalan" class="extype" href="Catalan.html">Catalan</a></dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.Cantor#set2list" data-isabs="false">
      <a id="set2list(List[BigInt]):List[BigInt]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">set2list</span><span class="params">(<span name="xs">xs: List[BigInt]</span>)</span><span class="result">: List[BigInt]</span>
      </span>
      </h4>
      <p class="shortcomment cmt">Bijection from finite sets of natural numbers
(canonically represented as non-decreasing sequences)
to finite sequences of natural numbers
</p><div class="fullcomment"><div class="comment cmt"><p>Bijection from finite sets of natural numbers
(canonically represented as non-decreasing sequences)
to finite sequences of natural numbers
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.Cantor" class="extype" href="Cantor.html">Cantor</a></dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.Catalan#showpars" data-isabs="false">
      <a id="showpars(List[Int]):String"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">showpars</span><span class="params">(<span name="xs">xs: List[<span name="scala.Int" class="extype">Int</span>]</span>)</span><span class="result">: <span name="java.lang.String" class="extype">String</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.Catalan" class="extype" href="Catalan.html">Catalan</a></dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#synchronized" data-isabs="false">
      <a id="synchronized[T0](⇒ T0):T0"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: ⇒ T0</span>)</span><span class="result">: T0</span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.TermTester#test" data-isabs="false">
      <a id="test(BigInt):Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">test</span><span class="params">(<span name="n">n: BigInt</span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <p class="shortcomment cmt">runs various tests on
individual and combined algorithms
for Goedel numbering of terms with an infinite supply
of function and variable symbols
</p>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.Cantor#toCantorTuple" data-isabs="false">
      <a id="toCantorTuple(BigInt,BigInt):List[BigInt]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">toCantorTuple</span><span class="params">(<span name="k">k: BigInt</span>, <span name="n">n: BigInt</span>)</span><span class="result">: List[BigInt]</span>
      </span>
      </h4>
      <p class="shortcomment cmt">Computes a sequence of k integers uniquely associated
to n using Cantor's generalized bijection.</p><div class="fullcomment"><div class="comment cmt"><p>Computes a sequence of k integers uniquely associated
to n using Cantor's generalized bijection.</p><p>This is an effciently computed inverse of
fromCantorTuple - the key contribution
of Paul Tarau's iclp12 paper
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.Cantor" class="extype" href="Cantor.html">Cantor</a></dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.TermEncoder#toCode" data-isabs="false">
      <a id="toCode(Term):BigInt"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">toCode</span><span class="params">(<span name="t">t: <a name="bijectiveGoedelNumberings.Term" class="extype" href="Term.html">Term</a></span>)</span><span class="result">: BigInt</span>
      </span>
      </h4>
      <p class="shortcomment cmt">Encodes a term as a unique natural number
by first computing the pair reprsenting it
and then encoding it using the rank associated
to a parenthesis expression and the code
provide by the generalized Cantor bijection
</p><div class="fullcomment"><div class="comment cmt"><p>Encodes a term as a unique natural number
by first computing the pair reprsenting it
and then encoding it using the rank associated
to a parenthesis expression and the code
provide by the generalized Cantor bijection
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.TermEncoder" class="extype" href="TermEncoder.html">TermEncoder</a></dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.Cantor#toCombinadics" data-isabs="false">
      <a id="toCombinadics(BigInt,BigInt):List[BigInt]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">toCombinadics</span><span class="params">(<span name="k">k: BigInt</span>, <span name="n">n: BigInt</span>)</span><span class="result">: List[BigInt]</span>
      </span>
      </h4>
      <p class="shortcomment cmt">Converts n to its &quot;combinadic&quot; representation
(see Knuth's AOCP fascicle for definitions)
</p><div class="fullcomment"><div class="comment cmt"><p>Converts n to its &quot;combinadic&quot; representation
(see Knuth's AOCP fascicle for definitions)
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.Cantor" class="extype" href="Cantor.html">Cantor</a></dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.TermEncoder#toPair" data-isabs="false">
      <a id="toPair(Term):(Pars, Syms)"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">toPair</span><span class="params">(<span name="t">t: <a name="bijectiveGoedelNumberings.Term" class="extype" href="Term.html">Term</a></span>)</span><span class="result">: (Pars, Syms)</span>
      </span>
      </h4>
      <p class="shortcomment cmt">Pairs together the structural and content information
of a term (Catalan Skeleton + Symbols)
</p><div class="fullcomment"><div class="comment cmt"><p>Pairs together the structural and content information
of a term (Catalan Skeleton + Symbols)
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.TermEncoder" class="extype" href="TermEncoder.html">TermEncoder</a></dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#toString" data-isabs="false">
      <a id="toString():String"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">toString</span><span class="params">()</span><span class="result">: <span name="java.lang.String" class="extype">String</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li visbl="pub" name="bijectiveGoedelNumberings.Catalan#unrank" data-isabs="false">
      <a id="unrank(BigInt):List[Int]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">unrank</span><span class="params">(<span name="r">r: BigInt</span>)</span><span class="result">: List[<span name="scala.Int" class="extype">Int</span>]</span>
      </span>
      </h4>
      <p class="shortcomment cmt">Computes balanced parenthesis expression uniquely
associated to natural number r
</p><div class="fullcomment"><div class="comment cmt"><p>Computes balanced parenthesis expression uniquely
associated to natural number r
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a name="bijectiveGoedelNumberings.Catalan" class="extype" href="Catalan.html">Catalan</a></dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#wait" data-isabs="false">
      <a id="wait():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#wait" data-isabs="false">
      <a id="wait(Long,Int):Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>, <span name="arg1">arg1: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#wait" data-isabs="false">
      <a id="wait(Long):Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">()</span>
              
        </dd></dl></div>
    </li></ol>
            </div>

        
        </div>

        <div id="inheritedMembers">
        <div name="bijectiveGoedelNumberings.TermEncoder" class="parent">
              <h3>Inherited from <a name="bijectiveGoedelNumberings.TermEncoder" class="extype" href="TermEncoder.html">TermEncoder</a></h3>
            </div><div name="bijectiveGoedelNumberings.Cantor" class="parent">
              <h3>Inherited from <a name="bijectiveGoedelNumberings.Cantor" class="extype" href="Cantor.html">Cantor</a></h3>
            </div><div name="bijectiveGoedelNumberings.Catalan" class="parent">
              <h3>Inherited from <a name="bijectiveGoedelNumberings.Catalan" class="extype" href="Catalan.html">Catalan</a></h3>
            </div><div name="scala.AnyRef" class="parent">
              <h3>Inherited from AnyRef</h3>
            </div><div name="scala.Any" class="parent">
              <h3>Inherited from <span name="scala.Any" class="extype">Any</span></h3>
            </div>
        </div>

      </div>

      <div id="tooltip"></div>

      <div id="footer">  </div>


    </body>
      </html>